fix(inference): block cross-engine AgentX STP comparisons / 阻止 AgentX STP 跨引擎对比#549
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit b27615f. Configure here.
cquil11
added a commit
that referenced
this pull request
Jul 14, 2026
…tX guard / 修复:让非官方 run 的 overlay 在跨引擎 AgentX 互斥中优先显示 (#575) * fix(inference): let unofficial run overlays win the cross-engine AgentX guard The cross-engine AgentX STP exclusion (#549) resolved conflicts with the official selection as the sticky set, so an unofficial run loaded via `?unofficialrun=` whose engine family conflicted with the active official family was silently deselected — the overlay never rendered, and the run's legend entry offers no toggle to bring it back. ChartDisplay's reconciliation effect then stripped the run's hw types from the provider entirely. An unofficial run is loaded to be seen: make the run's engine family the sticky set in both resolution sites (ScatterGraph's unified selection and ChartDisplay's overlay scoping / table rows) whenever overlay hw types are in scope, falling back to the official selection otherwise. Conflicting official series deselect instead (restorable by dismissing the run or re-toggling same-family officials); explicit conflicting adds still hit the block toast. 中文:跨引擎 AgentX STP 互斥规则(#549)在解决冲突时以官方选择作为粘性集合, 导致通过 `?unofficialrun=` 加载的非官方 run 若引擎家族与当前官方家族冲突, 会被静默取消选择——overlay 永远不渲染,且 run 的图例项没有开关可以恢复。 ChartDisplay 的同步 effect 还会把该 run 的硬件类型从 provider 中彻底剥离。 本修复让 run 的引擎家族在两处解析(ScatterGraph 统一选择与 ChartDisplay 的 overlay 作用域/表格行)中优先作为粘性集合;无 overlay 时回退到官方选择。 冲突的官方系列改为被取消选择(可通过关闭 run 或重新点选同家族官方配置恢复), 显式添加冲突配置仍会触发拦截提示。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(inference): build table sticky set from resolved overlay keys Address Bugbot review: visibleComparisonRows derived its overlay-preferring sticky set from the provider's activeOverlayHwTypes, which lags one render behind after an overlay scope change — the fallback to officials could drop the overlay row from table mode even though the upstream resolver kept it. Use the already-resolved overlayKeys (from resolvedScopedOverlayHwTypes) instead, matching the other resolution site. 中文:响应 Bugbot 审查意见:visibleComparisonRows 原先基于 provider 的 activeOverlayHwTypes 构建 overlay 优先的粘性集合,而该状态在 overlay 作用域 切换后会滞后一次渲染,回退到官方选择时可能把 overlay 行从表格模式中丢弃。 现改用已解析的 overlayKeys(来自 resolvedScopedOverlayHwTypes),与另一处 解析逻辑保持一致。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Note
Medium Risk
Touches core inference comparison UX (legend, overlays, presets, URL restore) and new sequence-scoped rules; mistakes could hide valid configs or allow misleading cross-engine charts, but behavior is heavily tested.
Overview
Agentic Traces now enforces a sequence-scoped STP rule: unsuffixed standard-token configs from different engine families (e.g. SGLang/ATOM vs vLLM) cannot share one comparison view. Fixed-sequence STP is unchanged. The rule merges with existing DeepSeek V4 MTP exclusions; MTP strip prefixes also cover llm-d and Mooncake wrappers.
Inference selection is centralized via
resolveComparisonSelection/toggleComparisonSelection: legend toggles, GPU timeline picks, URL/preset restores, and unofficial overlay keys (overlay:namespace) all go through the same resolver. Agentic views use a keep-sticky policy (one engine family kept on auto-reset); other scenarios keep clear-all. The MTP-specific toast is replaced byEngineComparisonConflictToastwith blocked vs resolved messaging (EN/ZH).Chart surfaces apply the guard in
ScatterGraph(drops conflicting overlay rooflines and syncs overlay state) andChartDisplay(table rows and CSV warning inputs usevisibleComparisonRowswith quick filters). Preset hw matching ignores only non-null exclusion suffixes. Unit and Cypress tests cover STP grouping, overlay/table behavior, and regression cases.Reviewed by Cursor Bugbot for commit 86e0bb7. Bugbot is set up for automated code reviews on this repo. Configure here.